<!DOCTYPE html>
            
<HTML>
<HEAD>
<meta name="booktitle" content="Developing Applications With Objective Caml" >
 <meta charset="ISO-8859-1"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<META name="GENERATOR" content="hevea 1.05-7 of 2000-02-24">
<META NAME="Author" CONTENT="Christian.Queinnec@lip6.fr">
<LINK rel=stylesheet type="text/css" href="videoc-ocda.css">
<script language="JavaScript" src="videoc.js"><!--
//--></script>
<TITLE>
 Summary
</TITLE>
</HEAD>
<BODY class="regularBody">
<A HREF="book-ora108.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora110.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2> Summary</H2>
This chapter has introduced several Objective CAML tools for lexical analysis
(lexing) and syntax analysis (parsing). We explored (in order of
occurrence): 
<UL>
<LI>
 module <TT>Str</TT> to filter rational expressions;

<LI> module <TT>Genlex</TT> to easily build simple lexers;

<LI> the <TT>ocamllex</TT> tool, a typed integration of the <TT>lex</TT>
tool;

<LI> the <TT>ocamlyacc</TT> tool, a typed integration of the
<TT>yacc</TT> tool;

<LI> the use of streams to build top-down parsers, including
contextual parsers.
</UL>
Tools <TT>ocamllex</TT> and <TT>ocamlyacc</TT> were used to define a
parser for the language Basic more easily maintained than that
introduced in page <A HREF="book-ora058.html#sec-basic">??</A>.<BR>
<BR>
<HR>
<A HREF="book-ora108.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora110.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
